#ifndef NANE_SOUNDBUFFER_H
#   define  NANE_SOUNDBUFFER_H

#   include "nane/core/SubSystemProduct.h"

namespace nane 
{
    class SoundBuffer
        : public SubSystemProduct
    {
        class Implementation;
        friend class SoundSystem;
        friend class SoundSource;

    public:
        SoundBuffer( const NullType& = NullPtr );
        SoundBuffer( Implementation* _impl );
        SoundBuffer( const SoundBuffer& _other );

    public:
        byte* Lock();
        void Unlock();
        uint32 GetLengthMs();
        
    protected:
        Implementation* m;
    };
}   // namespace nane

#endif	// NANE_SOUNDBUFFER_H
